package com.example.study_thread.b_iterator;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.ListIterator;

public class Demo3Iterator {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        list.add("唐僧");
        list.add("孙悟空");
        list.add("猪八戒");
        list.add("沙僧");
        Iterator<String> iterator = list.iterator();
        ListIterator<String> listIterator = list.listIterator();
        while (listIterator.hasNext()) {
            String element = listIterator.next();
//            equals判相等时，确定的变量放在前面，不确定的放在后面，避免空指针
//            预期操作expectedModCount与实际操作次数modCount不相等时，抛出异常checkForComodification
            if ("猪八戒".equals(element)) {
                listIterator.add("白龙马");
            }
        }
        System.out.println(list);
    }
}
